package cn.yitun.chat.yitunserverimbase.dao.system;

import cn.yitun.chat.yitunservercommonlib.crud.base.BootDao;
import cn.yitun.chat.yitunservercommonlib.crud.yitun.CrudDao;
import cn.yitun.chat.yitunservercommonlib.dataentity.dto.system.RoleMenuDto;
import cn.yitun.chat.yitunservercommonlib.dataentity.po.system.RoleMenuInfo;
import cn.yitun.chat.yitunservercommonlib.dataentity.vo.system.RoleMenuVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * 菜单角色关系表 权限表
 * @author chenyitun
 * @email chenyitun@163.com
 * @date 2020-05-27 14:43:51
 */
@Mapper
public interface RoleMenuDao extends BootDao<RoleMenuInfo> {
	/**
	 * 批量保存
	 * @param list
	 * @return
	 */
	int batchSave(@Param("list") List<RoleMenuInfo> list);

	/**
	 * 通过角色获取菜单
	 * @param roleId
	 * @return
	 */
	List<RoleMenuInfo> getRoleMenuListByRoleId(@Param("roleId") Long roleId);

	/**
	 * 删除角色下权限关联
	 * @param roleId
	 */
	int deleteByRoleId(@Param("roleId") Long roleId);

	/**
	 * 删除菜单关联权限
	 * @param menuId
	 */
	int deleteByMenuId(@Param("menuId") Long menuId);

	/**
	 * 通过角色id获取菜单id
	 * @param roleId
	 * @return
	 */
    List<Long> listMenuIdByRoleId(@Param("roleId") Long roleId);

}
